110 research outputs found

    Poster: Improving Bug Localization with Report Quality Dynamics and Query Reformulation

    Full text link
    Recent findings from a user study suggest that IR-based bug localization techniques do not perform well if the bug report lacks rich structured information such as relevant program entity names. On the contrary, excessive structured information such as stack traces in the bug report might always not be helpful for the automated bug localization. In this paper, we conduct a large empirical study using 5,500 bug reports from eight subject systems and replicating three existing studies from the literature. Our findings (1) empirically demonstrate how quality dynamics of bug reports affect the performances of IR-based bug localization, and (2) suggest potential ways (e.g., query reformulations) to overcome such limitations.Comment: The 40th International Conference on Software Engineering (Companion volume, Poster Track) (ICSE 2018), pp. 348--349, Gothenburg, Sweden, May, 201

    Supporting Source Code Search with Context-Aware and Semantics-Driven Query Reformulation

    Get PDF
    Software bugs and failures cost trillions of dollars every year, and could even lead to deadly accidents (e.g., Therac-25 accident). During maintenance, software developers fix numerous bugs and implement hundreds of new features by making necessary changes to the existing software code. Once an issue report (e.g., bug report, change request) is assigned to a developer, she chooses a few important keywords from the report as a search query, and then attempts to find out the exact locations in the software code that need to be either repaired or enhanced. As a part of this maintenance, developers also often select ad hoc queries on the fly, and attempt to locate the reusable code from the Internet that could assist them either in bug fixing or in feature implementation. Unfortunately, even the experienced developers often fail to construct the right search queries. Even if the developers come up with a few ad hoc queries, most of them require frequent modifications which cost significant development time and efforts. Thus, construction of an appropriate query for localizing the software bugs, programming concepts or even the reusable code is a major challenge. In this thesis, we overcome this query construction challenge with six studies, and develop a novel, effective code search solution (BugDoctor) that assists the developers in localizing the software code of interest (e.g., bugs, concepts and reusable code) during software maintenance. In particular, we reformulate a given search query (1) by designing novel keyword selection algorithms (e.g., CodeRank) that outperform the traditional alternatives (e.g., TF-IDF), (2) by leveraging the bug report quality paradigm and source document structures which were previously overlooked and (3) by exploiting the crowd knowledge and word semantics derived from Stack Overflow Q&A site, which were previously untapped. Our experiment using 5000+ search queries (bug reports, change requests, and ad hoc queries) suggests that our proposed approach can improve the given queries significantly through automated query reformulations. Comparison with 10+ existing studies on bug localization, concept location and Internet-scale code search suggests that our approach can outperform the state-of-the-art approaches with a significant margin

    Exploiting Context in Dealing with Programming Errors and Exceptions in the IDE

    Get PDF
    Studies show that software developers spend about 19% of their development time in web surfing. While collecting necessary information using traditional web search, they face several practical challenges. First, it does not consider context (i.e., surroundings, circumstances) of the programming problems during search unless the developers do so in search query formulation, and forces the developers to frequently switch between their working environment (e.g., IDE) and the web browser. Second, technical details (e.g., stack trace) of an encountered exception often contain a lot of information, and they cannot be directly used as a search query given that the traditional search engines do not support long queries. Third, traditional search generally returns hundreds of search results, and the developers need to manually analyze the result pages one by one in order to extract a working solution. Both manual analysis of a page for content relevant to the encountered exception (and its context) and working an appropriate solution out are non-trivial tasks. Traditional code search engines share the same set of limitations of the web search ones, and they also do not help much in collecting the code examples that can be used for handling the encountered exceptions. In this thesis, we present a context-aware and IDE-based approach that helps one overcome those four challenges above. In our first study, we propose and evaluate a context-aware meta search engine for programming errors and exceptions. The meta search collects results for any encountered exception in the IDE from three popular search engines- Google, Bing and Yahoo and one programming Q & A site- StackOverflow, refines and ranks the results against the detailed context of the encountered exception, and then recommends them within the IDE. From this study, we not only explore the potential of the context-aware and meta search based approach but also realize the significance of appropriate search queries in searching for programming solutions. In the second study, we propose and evaluate an automated query recommendation approach that exploits the technical details of an encountered exception, and recommends a ranked list of search queries. We found the recommended queries quite promising and comparable to the queries suggested by experts. We also note that the support for the developers can be further complemented by post-search content analysis. In the third study, we propose and evaluate an IDE-based context-aware content recommendation approach that identifies and recommends sections of a web page that are relevant to the encountered exception in the IDE. The idea is to reduce the cognitive effort of the developers in searching for content of interest (i.e., relevance) in the page, and we found the approach quite effective through extensive experiments and a limited user study. In our fourth study, we propose and evaluate a context-aware code search engine that collects code examples from a number of code repositories of GitHub, and the examples contain high quality handlers for the exception of interest. We validate the performance of each of our proposed approaches against existing relevant literature and also through several mini user studies. Finally, in order to further validate the applicability of our approaches, we integrate them into an Eclipse plug in prototype--ExcClipse. We then conduct a task-oriented user study with six participants, and report the findings which are significantly promising

    Employing Deep Learning and Structured Information Retrieval to Answer Clarification Questions on Bug Reports

    Full text link
    Software bug reports reported on bug-tracking systems often lack crucial information for the developers to promptly resolve them, costing companies billions of dollars. There has been significant research on effectively eliciting information from bug reporters in bug tracking systems using different templates that bug reporters need to use. However, the need for asking follow-up questions persists. Recent studies propose techniques to suggest these follow-up questions to help developers obtain the missing details, but there has been little research on answering these follow up questions, which are often unanswered. In this paper, we propose a novel approach that uses CodeT5 in combination with Lucene, an information retrieval technique that leverages the relevance of different bug reports, their components, and follow-up questions to recommend answers. These top-performing answers, along with their bug report, serve as additional context apart from the deficient bug report to the deep learning model for generating an answer. We evaluate our recommended answers with the manually annotated answers using similarity metrics like Normalized Smooth BLEU Score, METEOR, Word Mover's Distance, and Semantic Similarity. We achieve a BLEU Score of up to 34 and Semantic Similarity of up to 64 which shows that the answers generated are understandable and good according to Google's standard and can outperform multiple baselines.Comment: Fixed formatting and typographical error

    Quantifying the impact of emerging trade issues and non-tariff measures on Bangladesh

    Get PDF
    The overall aim of this thesis is to quantify the impact of emerging trade issues, including non-tariff measures (NTMs), for Bangladesh. This thesis focuses on how trade costs, mostly NTM-related trade costs, impact international trade. NTMs are policy-related trade costs that arise in addition to tariffs, and they are of particular interest as they can constitute a large share of trade costs, particularly for developing countries. My research involves both econometric and computable general equilibrium modelling analysis. I developed a unique NTM dataset for Bangladesh, at the HS 6-digit product level, which is used to econometrically estimate the impact of NTMs on imports. Global computable general equilibrium modelling is then used for quantifying the impact of changes in trade costs. This thesis comprises four applications of trade cost analysis. The first (chapter two) estimates the bilateral trade costs between Bangladesh and its leading trading partners, before investigating the factors that influence Bangladesh’s import costs. To measure implied bilateral trade costs, I first deploy an inverse gravity equation. I then estimate the determinants of import trade costs at the HS 6-digit product level, applying PPML estimation techniques to a gravity model, using a unique new NTM database developed for this thesis. The results show that imports to Bangladesh are related in an expected way to common trade cost proxies and that NTMs negatively impact imports. In the second application, I use the MyGTAP model, an extension of the well-known GTAP model which allows household disaggregation, to analyse the impact of eliminating export subsidies using a computable general framework. Export subsidies can be significant NTMs and important trade policy instruments for many developing countries. The simulations indicate that elimination of export subsidies has a positive effect on GDP. If we reduce the export subsidy by 50 percent and transfer this amount of money from the government to the targeted seven low-income household groups, real GDP may increase by about one percent. Government transfers to households lead to an increase in real income to all households, especially rural households, where incomes on average rise by 2.5 percent. This study suggests there are substantial opportunity costs to export subsidies, and household income could be enhanced by redirecting the spending to more productive channels. In the third application, I again employ the MyGTAP model to estimate the potential market access costs of Bangladesh’s least developed country (LDC) graduation. Bangladesh is an important case study of an emerging trading nation that will graduate from the LDC status to a developing country by 2026. The findings show that if developed countries impose a standard generalized system of preferences (GSP) tariffs while importing from Bangladesh and at the same time Bangladesh eliminates its export subsidies, Bangladesh’s Gross Domestic Product (GDP) may drop by about 0.38 percent and exports could fall by about six percent. The ready-made garment sector could be affected severely, and exports may decline by about 14 percent. The analysis indicates that the income of urban households could decrease by three percent, and household consumption may shrink by about four percent. In my fourth application, I explore how Bangladesh is dealing with balancing its relationship with its two important neighbours, India and China. China now holds the position of Bangladesh’s top trading and investment partner, while India is its second-biggest trading partner. Bangladesh has substantial comparative advantages in the apparel, jute, and leather sectors, and at the same time, both countries offer generous tariff elimination for imports from Bangladesh. However, various NTMs and a lack of trade facilitation present mounting barriers to exporting to the giants’ markets. Computable general equilibrium modeling simulations indicate that if India and China reduce NTMs through increased trade facilitation by 50 percent, Bangladesh’s exports may increase by three percent to these two markets. My thesis contributes to the improved understanding of emerging trade issues for Bangladesh. Using my new NTM dataset, I demonstrate the high costs of NTMs for Bangladesh. I then estimate the opportunity cost of export subsidies and the potential impacts of Bangladesh’s LDC graduation, including on different households. Finally, I highlight the importance of improved trade facilitation between Bangladesh and the huge neighbouring economies of China and India
    corecore